package com.wing.bill.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Mapper
public interface CheckReportDao {
    List<HashMap> list(@Param("begin")LocalDateTime localDateTime, @Param("end")LocalDateTime localDateTime1, @Param("code")String code, @Param("param")String param);

    List<HashMap> queryInRecords(@Param("begin")LocalDateTime start, @Param("end")LocalDateTime end, @Param("param")String param, @Param("code")String code, @Param("mainCabCode")String mainCabCode, @Param("other")String other);

    List<HashMap> queryCheckedRecords(@Param("begin")LocalDateTime start, @Param("end")LocalDateTime end, @Param("param")String param, @Param("code")String code, @Param("mainCabCode")String mainCabCode, @Param("other")String other, @Param("option")String option);

    List<HashMap> midThirdChartByDay(@Param("begin")LocalDateTime localDateTime, @Param("end")LocalDateTime localDateTime1, @Param("param")String param, @Param("code")String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> midThirdChart(@Param("begin")LocalDateTime start, @Param("end")LocalDateTime end, @Param("param")String param, @Param("code")String code, @Param("mainCabCode")String mainCabCode);


    HashMap checkTop(@Param("begin")LocalDateTime localDateTime, @Param("end")LocalDateTime localDateTime1, @Param("code")String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> checkTopClick(@Param("begin")LocalDateTime localDateTime, @Param("end")LocalDateTime localDateTime1, @Param("code")String code, @Param("mainCabCode")String mainCabCode);

    HashMap queryInRecordsTotal(@Param("begin")LocalDateTime start,  @Param("end")LocalDateTime end, @Param("code")String code, @Param("mainCabCode")String mainCabCode, @Param("param")String param);

    HashMap queryCheckedRecordsTotal(@Param("begin")LocalDateTime start, @Param("end")LocalDateTime end, @Param("code")String code, @Param("mainCabCode")String mainCabCode, @Param("param")String param, @Param("option")String option);
}
